home *** CD-ROM | disk | FTP | other *** search
/ InterCD 2000 September / september_2000.iso / intercd / root / ^Linux / cfengine-1.5.3 / VERSION.DIFF < prev    next >
Encoding:
Text File  |  1999-10-25  |  20.8 KB  |  563 lines

  1. <HTML>
  2. <HEAD>
  3. <TITLE>cfengine news</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <H1>cfengine changes and patches</H1> 
  7.  
  8. <pre>
  9.  
  10. Numbers are [Major version].[Minor version].[Patch release]
  11.  
  12.  ***************** Minor Version 5 ******************** 
  13.  
  14. KNOWN BUGS: linux, when making directories, ownership can perms can be wrong.
  15.  
  16. 1.5.3
  17.   Configuration fixes for strange platforms. 
  18.   Segmentation fault with long hostnames in cfd.
  19.   A number of security minded improvements to coding.
  20.  
  21.  
  22. 1.5.2 (Minor patches)
  23.   DeleteNonOwnerMail excluded check of NonUserMail
  24.   Almost complete port to SCO, missing data on mount model
  25.   Some compilation problems addressed. Move to OpenSSL
  26.   latest version.
  27.   Domain name issue fix in remote copying between domains.
  28.   Exec strings in variable assignments are now chpped.
  29.  
  30. 1.5.1 (bugfixes only)
  31.   Segmentation fault with blank lines fixed in editfiles.
  32.   Segmentation fault with remote copy access denied fixed.
  33.  
  34.   IP address and subnet (first three bytes of IP) are now
  35.   added as classes e.g. 128_39_89 and 128_39_89_10
  36.  
  37.   Checksum update bug fix
  38.  
  39.   ->! works on directories, with some care checks
  40.  
  41.   mutex variables in cfd made static. Serialized gethostbyname()
  42.   to avoid races in multithreaded lookup.
  43.  
  44.  BUG: cfd seems unable to copy itself on memory mapped solaris
  45.  
  46. 1.5.0
  47.   Security enhancements and bug fixes.
  48.  
  49.   !! GNU Regular expression library replaced by POSIX calls.        !!
  50.   !! The old code is still present for legacy systems but           !!
  51.   !! this will not be supported in the future. Legacy systems       !!
  52.   !! should install the GNU Posix library rx-1.5 for compatibility. !!
  53.   !!       *** check complex regex's before using this! ***         !! 
  54.  
  55.    RFC931 user authentication for cfd, on systems 
  56.           supporting/running identd.
  57.  
  58.    Editfiles: Checks that the file differs
  59.               from the disk version after multiple edits
  60.               before saving (fixes circular do-undo problems)
  61.  
  62.    All pthread libraries are now trusted to work by default
  63.    (make of this what you will).
  64.  
  65.    BSD chflags attributes now handled (by Andreas KluBmann)
  66.  
  67.    home/ in directories
  68.  
  69.    LogDirectory
  70.    LockDirectory - variables in control: can override defaults.
  71.  
  72.    define= added to shellcommands. Defined if shellcommand
  73.    returns zero.
  74.  
  75.    Cfengine will not edit a link to a file unless the
  76.    owner of the link is the owner of the file.
  77.  
  78.    Careful attempts to avoid exploitation of race conditions
  79.    during file writing.
  80.  
  81.    New copy option, secure=true allows 3DES encryption with
  82.    secret keys in file LOCKDIR/keys. Filenames and contents
  83.    are encrypted only.
  84.  
  85.    New threading policy makes compatibility with earlier versions
  86.    of cfd impossible. Should be more effective now. Discontinued
  87.    -m flag.
  88.  
  89.    cfd options: root=host1,host2 determines whether a connecting host
  90.                 can read files on the remote system which are not
  91.                 owned by the initiator of the connection.
  92.  
  93.                 secure=true means that cfd will only serve the file
  94.                 on a secure line.
  95.  
  96.    New cfkey program which generates a key file, e.g.
  97.     cfkey > /var/run/cfengine/keys; chmod 600 /var/run/cfengine/keys
  98.  
  99.    New copy type "mtime"
  100.  
  101.    Control variable: DefaultCopyType = ( mtime ) can be used to set on all
  102.                      copies following this.
  103.  
  104.    Problem with pthreads and GNU/Linux fixed
  105.  
  106.  ***************** Minor Version 4 ******************** 
  107.  
  108. 1.4.17
  109.    Multihomed host fixes for hosts with multiple names on
  110.    interfaces.
  111. 1.4.16
  112.    Options owner= group= in shellcommands, allow running
  113.    programs with effective user id, i.e. su -c user command
  114.  
  115.    ShowActions = ( on ) makes cfengine print out the exact action
  116.    in output, using the adaptive lock string. For specialized
  117.    processing only.
  118.  
  119.    Symbolic link attack security hole closed.
  120.  
  121. 1.4.15
  122.    Bug in size= in tidy files which could cause parsed value to
  123.    be incorrect if the size value had many digits.
  124.    Setuid logs were not saved after copy:
  125.    stealth on remote copies was broken.
  126.    Username authentication added (weak and discretionary).
  127.    Bug with new Berkeley database v2 fixed. Seems to work now.
  128.    New class name digital added causing incorrect class id's!
  129.  
  130.    Option checksum=md5 added to files to give Tripwire functionality.
  131.    (Requires libdb v2 from sleepycat)
  132.  
  133. 1.4.14a
  134.    Editfiles Replace/With error incorrectly fixed in 1.4.13.
  135.    Caused segmentation fault if last line of file.
  136.  
  137. 1.4.14 (Post LISA changes)
  138.    SuspiciousNames = ( .mo lrk3 ) in control adds a list of filenames which
  139.    cfengine will warn about if it detects them in the course of scanning
  140.    directories.
  141.  
  142.    SecureInput = ( false/true ) option which switches on checking of the
  143.    permissions on the input files. If this is set cfengine will not
  144.    read files which are not owned by the uid running the program, or
  145.    which are writable by groups or others.
  146.  
  147.    Copy default to source=destination name if dest not specified (assumes
  148.    that server is not localhost)
  149.  
  150. 1.4.13
  151.    N.B. When upgrading to this version. ALL systems should be upgraded.
  152.  
  153.    Debian ID changed to use /etc/debian_version.
  154.    Special GNU/linux distributions detected incorrectly.
  155.  
  156.    cfd patches: removed forking from 1.4.12 and fixed error protocol bug which
  157.                 allowed files to be overwritten with an error message (ouch!)
  158.                 Multi-homed host fix which works with solaris nsswitch/nis
  159.  
  160.    When copying symbolic links, both image and link, the file pointed to
  161.    by the link could end up with the permissions of the link. Fixed.
  162.  
  163.    File recursion was broken in some earlier version.
  164.    Process match/define fix. Classes got defined even when processes missing.
  165.  
  166.    In file,copy,link new option ignore= allows locally defined ignores. Often
  167.    a better alternative to the global ignore list which affects all three and
  168.    tidy as well. (This is like include/exclude but also works on directories/recursion)
  169.  
  170.    AutoCreate/dry-run created file. Fixed.
  171.  
  172.    Variable expansion in import.
  173.    Imported files which are not found now give only warning in verbose
  174.    mode. They do not stop execution. This allows inclusion of
  175.    possibly existing files like cf.local
  176.  
  177.    Obscure bug in class evaluation fixed.
  178.  
  179.    OpenBSD classes added.
  180.  
  181.    Purging without authentication disabled, otherwise possible to
  182.    wipe out a whole directory.
  183.  
  184.    Link defaults changed during copying so that links will be created
  185.    to nonexistent files.
  186.  
  187.    Didn't find some processes if username contained a number on sys V.
  188.  
  189.    Bug in macro hashing could cause segmentation fault.
  190.  
  191.    When recursively copying dirctories with non-alphanumeric filenames
  192.    it was possible to enter into enter into silly loops which looked
  193.    for non-existent files. Fixed.
  194.  
  195.    Variables allowed in defaultroute.
  196.  
  197.    control: variable = ( `exec shellcommand` ) now sets variable to output
  198.    of command.
  199.  
  200.    New options for unmount deletefstab=true/false deletedir=true/false
  201.  
  202.    New option stealth=true/false determines whether the access/ctime of
  203.    source files are modified during copy.
  204.  
  205.    Security feature tests ownership and permissions of input files.
  206.    Files writable by others than the owner are skipped. If cfengine.conf
  207.    is not secure program terminates.
  208.  
  209.    New List in control FileExtensions = ( c gif txt ) etc
  210.    If directories have these names they will be reported as
  211.    security warnings.
  212.  
  213.    NonAlphaNumFiles = ( on ) switches on disabling (marking) of
  214.    files with control character filenames and other non-alphanumeric
  215.    names, with some exceptions. These are suffixed with .cf-nonalpha
  216.    which can then be removed if desired by tidy.
  217.  
  218. 1.4.12
  219.    Ownership of links was not checked, fixed for those systems which have
  220.    lchown() (solaris and osf/digital)
  221.  
  222.    Automatic domain name detection in cases where sites use fully qualified
  223.    domain names locally (eg in /etc/hosts) Helps to solve the problem of
  224.    what to do if you havge multiple domains in a cfengine.conf file
  225.    and want to define classes based on the domain name which hasn'r been
  226.    set yet.
  227.  
  228.    processes: include and exclude lists can be added to match or exclude specific
  229.    literals in addition to the regular expressions (which don't seem to
  230.    work very reliably) when searching through the process table.
  231.  
  232.    Tidy with single / as root ignored command. Fixed
  233.  
  234.    miscmounts rw/ro only option made more like other options with mode=rw,mode=ro etc.
  235.    Default value is rw. Backward compatibility maintained.
  236.  
  237.    Variable expansion now performed in owner= and group=
  238.  
  239.    Error capture while checking link permissions fixed. Old perror() method missed.
  240.  
  241.    Multithreaded cfd. stat error message fixed.
  242.    -m option to cfd to switch on multithreaded operation.
  243.    Systems which do not have working pthreads fork() processes
  244.    during copy commands only. Note that solaris 2.[56] is the only working
  245.    pthread implementation that is implemented, since I only have linux
  246.    and solaris to test on. To get pthreads working on other platforms
  247.    you have to add a NOTBROKEN to configure.in and rerun autoconf/autoheader.
  248.  
  249.    cfd now is able to run cfengine at timely intervals in collaboration with,
  250.    or instead of cron. This allows cron to be restarted by cfengine/cfd on linux boxes, where
  251.    it crashes all the time, and it allows cfd to be restarted by cfengine/cron
  252.    if it crashes (occasionally). See AutoExecInterval/AutoExecCommand
  253.  
  254.    Purging files didn't remove deep directories on client, fixed.
  255.  
  256.    Domain name case control tweaks.
  257.  
  258.    File recursion bug fix.
  259.    Bug in execute bit permissions on directories.
  260.  
  261.    Support for multiple network interfaces
  262.  
  263.    Copy could lead to empty file.
  264.  
  265.    New db v2* api used.
  266.  
  267.    dirlinks=tidy didn't work, fixed.
  268.    Bug in home expansion of user patterns
  269.  
  270.    Multiple timezone aliases
  271.  
  272. 1.4.11
  273.    Copy repatched. Erroneous patch in filedir.c copy modes not settable
  274.    Lexer tweaking
  275.    Travlinks patch in tidyfiles. Did not detect links properly.
  276.    Home tidy optimization.
  277.    Bug in IsMountedFileSystem fixed
  278.    Bug in relative linking from / , missing / fixed.
  279.    Link update in copy files repaired.
  280.    Editfiles:  Backup, Syslog, Inform
  281.    New class additions are automatically canonified to protect from plugins.
  282.  
  283.    Can now set syslog=on/off, inform=on/off per action so that output can be
  284.    routed as desired, overriding global settings. (For Greg Maples)
  285.  
  286.    processes, useshell=dumb ignores I/O and allows programs like cron to
  287.    be restarted without hanging cfengine with a zombie. This doesn't
  288.    work via cfrun, unfortunately...
  289.  
  290.    Bug in parser, defaults not reset if previous action was not installed.
  291.    Global replace bug fixed.
  292.    internal variable $(ipaddress) contains numerical form of IP for current host.
  293.    addinstallable for declaring dynamical classes before they are used.
  294.    Memory leak in cfd fixed.
  295.  
  296. 1.4.10
  297.    Multi-homed host fix for cfd.
  298.    Mail check extras: test for dubious files 
  299.     Warn/DeleteNonOwnerMail
  300.     Warn/DeleteNonUserMail
  301.    Edit: CatchAbort markers introduced to add a kind of exception handling
  302.          so searches do not have to abort an edit compeltely.
  303.    Some typos fixed in the logging code. Segmentation faults caught 
  304.    and erronenous messages fixed.
  305.    Extra new lines from logging code fixed, e.g. with cfengine -a
  306.    Bug fix to edit command DeleteLinesAfter...
  307.    TimeOut parameter added to adjust network timeouts on slow networks.
  308.    Access control in cfrun  (access = mark,uid,uid2 in cfrun.hosts)
  309.    matches=0 allowed in processes
  310.    Unixware support added
  311.    8-bit clean for flex users
  312.    percentages added for filessystem checking (diskusage=)
  313.    extra options for rmdirs so top directory needn't be removed in tidy
  314.  
  315.  
  316. 1.4.9
  317.    ReleaseCurrentLock exited if remove failed. This was wrong,
  318.    should only have returned and caused a truncation of the 
  319.    action sequence.
  320.  
  321.    ERESTARTSYS deadlock patch for POSIX.1/SVR4 while restarting
  322.    daemons. Processes would hang, never receiving end-of-file on
  323.    the pipe. A timeout has been added as a workaround.
  324.  
  325.    Support for Access Control Lists in files and copy. Currently
  326.    implemented for solaris, and dfs only.
  327.  
  328.    blocksize calculations rewritten to avoid division by zero error.
  329.  
  330.    Error in installing required class info. Introduced in 1.4.8
  331.  
  332.    define= directives added to process, editfiles, files, tidy, link and disable
  333.  
  334.    DNS lookup case control to avoid unusual problems with case mismatch.
  335.  
  336.    $(host) not expanded when domain not set: fixed.
  337.  
  338.    Output rationalization in different modes, including possibility of logging.
  339.    Note that the status of some messages has changed. You might need
  340.    to set Inform = ( on ) in order to see the messages you want to see.
  341.    Messages may now be routed to syslog.
  342.  
  343.    Bug in server= fixed for net copy. Previously a pointer error
  344.  
  345.    New option to shellcomand: useshell=true/false. If false, cfengine
  346.    uses an internal popen replacement which does not use an intermediary
  347.    shell to start programs. This addresses several security issues in
  348.    starting programs with root privileges.
  349.  
  350.    New option to copy: purge=true/false. If true, cfengine will remove
  351.    files in the destination dir which do not exist in the source dir
  352.    when recursively copying directories.
  353.  
  354.    control options Verbose = ( on ), Inform = ( on ), Syslog = ( on )
  355.    which switches the output level from within the config file. Also:
  356.    Warnings = ( on ), DryRun = ( on ) to set other command line options.
  357.  
  358.    Bug in relative linking fixed.
  359.  
  360.    Bug in overlaying permissions mostly fixed in copy. Still some
  361.    residual weirdness when using complex masks.
  362.  
  363.    Garbage appeared in copy define=classes. 
  364.  
  365.    AutoCreate would not work with BeginIfFileNewer
  366.  
  367. 1.4.8
  368.    Cfengine now detects redhat linux and defines a class. Welcome redhat.
  369.  
  370.    Variables can now be used in the control section itself, to define other
  371.    variables and so forth.
  372.  
  373.    Drop setpgrp and use setsid instead, if it is found, to get around the
  374.    incompatible argument.
  375.  
  376.    Non canonical $(arch) canonified so that it is not confused as a list variable.
  377.  
  378.    OutputPrefix doesn't automatically append hostname now, since you can always
  379.    do this yourself with variables in the OutputPrefix string.
  380.  
  381.    Bug in copy, permissions finally fixed? Pleeeaasse?
  382.    Output format changes.
  383.  
  384.    New option to links, nofile=force allows you to create links to files
  385.    which do not presntly exist.
  386.  
  387. 1.4.7
  388.    Copy : "return" instead of "continue" in GetLock. Meant that if one
  389.    lock failed, all copies were abandoned.
  390.    Setuid root files copied without setuid bit. Fixed.
  391.    Segmentation fault in "InsertFile" Fixed for empty files.
  392.  
  393.    Scanf workaround for linux in remote copying, caused incorrect
  394.    values to be read and thereby incorrect file modes.
  395.  
  396.    Problem in variable expansion fixed?
  397.    setpgrp() in cfd
  398.    Documentation updates.
  399.    Possible segmentation fault in inode caching fixed.
  400.    Minor suggestions to autoconf implemented.
  401.  
  402. 1.4.6
  403.    CompressPath moved to filename.c to avoid linking problem in OSF.
  404.    More Too Many open files bloopers fixed.
  405.    cfd: transfer synchronization problem could break filenames in readdir() fixed.
  406.    Recursive tidy including directories fixed so that top directory is now
  407.    deleted.
  408.  
  409.    cfwrap altered so that identical multiple messages are filtered, or shown only
  410.    once per day
  411.  
  412. 1.4.5
  413.    Symbolic link inode number transferred incorrectly from cfd, leads to remaking
  414.    symbolic links during remote copies, owing to confusion of hard and soft links.
  415.    Some unclosed socket loopholes fixed. Too many open files error.
  416.    Variable syntax error, misdiagnozed if other braces used. Fixed.
  417.  
  418. 1.4.4
  419.    Repository error, files not being properly backed up. Fixed.
  420.    Documentation config changes.
  421.  
  422. 1.4.3
  423.    AIX4 -> AIX in df.c. Typo in freespace code.
  424.    Incorrect locking of editfiles fixed. Unique names previously omitted.
  425.    Editfilesize can be set to zero to be ignored.
  426.    Class defines in required: bugfix, items not installed.
  427.    BeginGroupIfFileExists checked the wrong file!!
  428.    cdrom filesystems do not generate warnings if not immediately mountable
  429.    html files no longer distributed
  430.  
  431.    Binaries are now installed in sbin instead of bin.
  432.    scripts are now installed in lib/cfengine instead of sbin
  433.  
  434. 1.4.2
  435.    Timeout for reading input files (can happen during hanging NFS) could lead to
  436.    multiple cfengines being started unwillfully.
  437.    Emacs major-mode contributed by Rolf Ebert
  438.    include/exclude patterns in files fixed (broken in 1.4.0)
  439.    Broken pipe error in cfrun fixed.
  440.    Variable OutputPrefix can be used to change the default "cfengine:"
  441.    prefix on output lines.
  442.  
  443.  
  444. 1.4.1
  445.    Bug in parser. Trailing slashes defeat 2Dlist expansion. Fixed for tidy.
  446.    cfd rereads system clock.
  447.    Copy permission bug fixed.
  448.    File reorganization to reflect inheritance structure.
  449.    Change in cosmetic details of locking implementation.
  450.    Some manual inconsistencies fixed.
  451.    Bug in cfrun parsing comments fixed. (Missed next line)
  452.    Bug in editfiles increment pointer fixed. Decrement to before start of file
  453.    is not longer a fatal error.
  454.    Permissions on rotated files were not preserved in 1.4.0. Fixed.
  455.    Trailing dots from DNS/gethostbyname are now truncated away
  456.    Editing symbolic links, edits file instead.
  457.    Default value of IfElapsed is now zero, so that antispam locks are turned
  458.     off by default.
  459.  
  460. 1.4.0
  461.    Debian systems now detected and have an additional class "debian" in addition to linux
  462.  
  463.    New option "define=class1,class2" to "copy" command defines a list
  464.    of classes only if a file is copied.
  465.    This allows followup actions to be added to other sections.
  466.  
  467.    Variable list iteration in shell-commands.   Enhanced iteration source code.
  468.  
  469.    New option in disable: size=, size=>, size=<  for byte size comparisons. Files are
  470.    only disabled if the criterion is met.
  471.  
  472.    Hourly classes are added to the automatic class engine: Hr00 to Hr23 can now be used.
  473.  
  474.    Update messages in copy were erroneous in some cases, although copying was performed
  475.    correctly. Fixed.
  476.  
  477.    Hyphens in hp-ux etc hard classes changed to underscores.
  478.  
  479.    It is now possible to override the name of the network interface in the control
  480.    section of the program. This allows funny OS installations on unusual hardware
  481.    to set the net interface for a specific class.
  482.     control:
  483.  
  484.      nextstep::
  485.  
  486.       interfacename = ( blah0 )
  487.  
  488.   New editing commands:
  489.  
  490.      CommentLinesContaining,
  491.      BeginGroupIfFileIsNewer,
  492.      BeginGroupIfFileExists,
  493.      BeginGroupIfNoLineContaining,
  494.      AutoCreate
  495.  
  496.  
  497.    Bug in alpha/netbsd with segmentation fault in exit() repaired, 
  498.    some kind of pointer misunderstanding with a null string.
  499.  
  500.    New safer algorithm for copying files, first copies a modified
  501.    file to a new file on the local filesystem. When transfer is complete it is
  502.    renamed into place. This helps avoid race-conditions and problems
  503.    where copying is halted underway due to network lossage.
  504.  
  505.    New debugging option d3 provides summarial info.
  506.  
  507.    Timeout option in shellcommands allows timeouts after a fixed number
  508.    of seconds.
  509.  
  510.    Timeouts in place for all RPC operations connected with "mount".
  511.  
  512.    Sizes in disable and tidy now may specify units, bytes, kilobytes, megabytes (b,k,m)
  513.    First character significant only. e.g. size=30kilobytes is okay.
  514.  
  515.    include=, exclude= patterns in file searches
  516.  
  517.    Remote copying partially implemented with server daemon cfd.
  518.  
  519.    Typo in tidy concatenation with multiple wildcards fixed.
  520.  
  521.    Extra time classes added allowing a complete front end for cron. Additional
  522.    manual chapter on this.
  523.  
  524.    copying of links without a directory reference now prepends "./"
  525.  
  526.    Copying now preserves hard links where possible.
  527.  
  528.    File Rotation in disable does not break file handles any more.
  529.  
  530.    Copied/disabled files now back up to .cfsaved whereas edited files
  531.    back up to .cfedited, to avoid overwriting the backup in copy-then-edit
  532.    scenarios.
  533.  
  534.    Checksum comparisons are now optimized by checking the number of
  535.    bytes before launching into a checksum computation.
  536.  
  537.    Several new edit commands.
  538.  
  539.    New locking mechanism with atomic locks which allow several cfengine's
  540.    to coexist. Also antispamming mechanisms built in.
  541.  
  542.    CheckResolv reworked to avoid editing each time.
  543.  
  544.    AddToFstab will add to file if fs mounted
  545.  
  546.    SplayTimes added. causes cfengine to sleep a unique amount
  547.    of time for each host, up to a maximum time. Can be used to
  548.    avoid race conditions and contention.
  549.  
  550.    Improved expression evaluation with parentheses.
  551.  
  552.    Support for Cray. (Unsure whether these choices will match
  553.    all cray systems).
  554.  
  555.   beta2:
  556.  
  557.    New options -q -K for switching off locks
  558.  
  559. </pre>
  560.  
  561. </body>
  562. </html>
  563.